Lecture 8:Adversarial Attack

Lectured by HUNG-YI LEE (李宏毅)

Recorded by Yusheng zhao(yszhao0717@gmail.com


Lecture 8:Adversarial Attack人类的恶意是什么样子的:How to Attack?How to Atatck计算Non-perceiveable攻击方法FGSM(Fast Gradient Sign Method)改进版:Iterative FGSMWhite Box v.s. Black BoxBlack Box Attack为什么攻击成功如此简单?One Pixel AttackUniversal Adversarial AttackBeyond Images——其他类型资料的被攻击Attack in the Physical WorldAdversarial Reprogramming"Backdoor" in Model如何防御:被动 v.s. 主动Passive Defense(被动防御)局限性Proactive Defense(主动攻击)Adversarial TrainingRemarks(总结)攻击手段(举例来说)


MOTIVATION:

我们所训练的各式各样的神经网络如果想落地应用(deployed),不仅需要正确率高,还需要应付来自人类的恶意攻击

很多network实际上主要作用就是侦测来自人类的恶意攻击,譬如垃圾邮件甄别

人类的恶意是什么样子的:How to Attack?

E.g. 图像识别的系统

将输入图片加入小小的噪音(肉眼没法看出来),被称之为Attacked Image,

预期攻击效果有两种:其一是仅让其识别错误(Non-Targeted);其二是不仅让其识别错误,还要使其结果分类到预期的类别(Targeted)…

image-20220415080008405

以一个ResNet-50的Network 为例

image-20220415080220855

这个0.64和1是置信度分数。攻击成功而杂讯肉眼无法分辨。将这两张图片相减并放大差距,杂讯如右上角所示,两张照片确实不一样

image-20220415080426139

事实上,我们可以把这只猫加上杂讯,让去变为任何其他东西。例如键盘(Keyboard)

有趣的是,当我们在原图片加上适度的肉眼可分辨的杂讯时,可能分类器的结果并不会被误解。即便犯错,似乎也有“有尊严”的解释。

image-20220415080721552

How to Atatck

对于Network (参数是固定的)输入一张影像姑且称之为,输出是一个distribution,称之为。那么

计算Non-perceiveable

假设image-20220415082606475

也有其他方法来计算距离,但是我们在计算中必须考虑到人类感知的情形。举例说明可能L-infinity也许更符合实际的需求。

的距离衡量方式必须根据Domain Knowledge,或者说具体问题具体分析。对于一个图像分类系统可能如上情况所述,但是对于语音辨识系统,我们需要找出语音中人类比较不敏感的element,距离衡量方式随之产生变化。

攻击方法

我们现在有

我们只需要把网络的input看作是网络的一部分,和一般训练网络一样,通过Gradient Descent来minimize我们的损失函数,对输入的进行调整。

不同的攻击手段:采用不同的constraint或者不同的optimization方法;但是通常都用梯度下降法。

image-20220415114841757

FGSM(Fast Gradient Sign Method)

如同埼玉老师:一发命中

一击必杀——一个update就找出可以attaack成功的Image,步骤如下

改进版:Iterative FGSM

多跑几个迭代(作业能过medium)

image-20220415120700128

坏处:一不小心就出界了,所以最后还要fix下,出界的点修正到四个角中最接近的那个。

image-20220415120549628

White Box v.s. Black Box

Black Box Attack

为什么攻击成功如此简单?

still a puzzle.

老师介绍了一个可能(很多人相信)的原因,来自https://arxiv.org/pdf/1611.02770.pdf

image-20220416110515444

实验如上,图上的原点代表着尼莫的图片,横轴和纵轴分别表示这张图片往两个不同的方向移动。在VGG-16上面,横轴表示可以攻击成功的方向,纵轴是随机的方向。在另外的四个NN模型上。其可视化结果和VGG-16很相似(深蓝色区域代表会被辨识成功的图片的范围)

在攻击的方向上(横轴)特别窄,稍微加点噪声,往横轴方向移动,就掉出识别正确的领域。

Adversarial Examples Are Not Bugs, They Are Features——不同的文章也说明了之所以能攻击成功是因为数据的特征分布而非模型,而在不同的模型中数据分布是相似的,攻击成功的形式也非常类似。

👆只是某一个许多人认同的想法。

One Pixel Attack

攻击成功所需要的噪声代价至少可以多大?——一个像素就行。https://arxiv.org/abs/1710.08864

image-20220416163426325

局限性很大:攻击存在,但不是很powerful(不会错误识别到完全不一致的事物上,多少有点像)

Universal Adversarial Attack

https://arxiv.org/abs/1610.08401

不需要对不同的signal攻击特质化(specialized),图像识别攻击的通用化手段。

Beyond Images——其他类型资料的被攻击

Attack in the Physical World

发生在三次元世界中的Adversarial Attack

考虑到角度、远近距离的标识牌攻击,实际的贴纸比较招摇,如下是相对隐蔽的攻击方式。

image-20220416180245319

(仔细看,数字3”鼻子“被拉长了;将限速35误识别为85:)来自https://www.mcafee.com/blogs/other-blogs/mcafee-labs/model-hacking-adas-to-pave-safer-roads-for-autonomous-vehicles/

Adversarial Reprogramming

https://arxiv.org/abs/1806.11146

把原影像识别系统放入寄生的僵尸?让它做它本来不想做的事情

image-20220416193225438

👆数方块的模型:将方块的图片嵌入杂讯中,杂讯加入相对应的图像,丢进分类器里边,(ImageNet Classifier原来是识别图像)借用其功能来做到数方块的模型

"Backdoor" in Model

来自文章:https://arxiv.org/abs/1804.00792 ——发现模型的后门,来自人类的另外一个恶意

image-20220416193644927

攻击从训练过程中就展开……在训练资料中图片是正常的而且标注是正常的,但是给模型开了一个后门(样本攻击)。这导致在测试中每次遇到此类样本的时候都会辨识错误。

这启示我们在使用公开的(open)训练集,小心其中做的手脚……

如何防御:被动 v.s. 主动

Passive Defense(被动防御)

image-20220416194054338

局限性

image-20220416195147553

怎么办?加上自己都不知道怎么随机在哪儿的随机层(如上图所示,来自https://arxiv.org/abs/1711.01991)——欲欺敌先瞒己,乱拳打死老师傅,hhhh。

但是假设attacker知道你随机的distribution,也是有可能被攻破的。

Proactive Defense(主动攻击)

直接训练一个对adversarial attack具备鲁棒性的模型——

Adversarial Training

局限性在于不一定能挡住新的攻击方式,如果新的攻击方式不在以上这种数据增强的方式被考虑,那么防御可能无效。而且,去寻找整理的过程也非常繁复耗时。消耗运算资源。

*达到Adversarial Training的效果,但相比下不需要额外计算消耗资源。文章:Adversarial Training for Free!

Remarks(总结)

攻击手段(举例来说)

FGSM Basic iterative method L-BFGS Deepfool JSMA C&W Elastic net attack Spatially Transformed One Pixel Attack

……